package com.yunhe.sms.dao.system;

import com.yunhe.commons.dao.BaseDao;
import com.yunhe.commons.dto.Pageable;
import com.yunhe.sms.entity.system.User;

import java.util.List;

/**
 * Created by Administrator on 2017/10/17 0017.
 */
public interface UserDao extends BaseDao<User> {

    /**
     * 添加用户
     * @param user
     */
    void save(User user);

    /**
     * 删除用户
     * @param id
     */
    void delete(Long id);

    /**
     * 修改用户
     * @param user
     */
    void update(User user);

    void updatePwd(String password, Long id);

    /**
     * 根据用户id查询用户
     * @param id
     * @return
     */
    User findOne(Long id);

    /**
     * 根据用户名和密码查询用户
     * @param userName
     * @param password
     * @return
     */
    User findOne(String userName, String password);
    /**
     * 根据用户名查询用户
     * @param userName
     * @return
     */
    User findOne(String userName);

    /**
     * 查询所有用户
     * @return
     */
    List<User> findList();

    /**
     * 分页查询所有用户
     * @param offset
     * @param size
     * @return
     */
    Pageable<User> findPage(Integer offset, Integer size);

}
